package dto;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import entity.Node;
import entity.Tree;

/**
 * 数据传输源
 * 这个类的对象用于传输数据
 * 
 * @author raymondwong
 *
 */
public class AmDto {
  
  /**
   * 项目树对象
   */
  public static Tree tree;

  /**
   * 文件选择器中用户选择的文件路径
   */
  public static String filePath;
  
  /**
   * 最近访问文件的路径
   */
  public static List<String> recentFilePath;
  
  /**
   * 构造函数
   * 初始化节点数组
   */
  public AmDto() {
    AmDto.tree = new Tree();
    AmDto.filePath = "";
    AmDto.recentFilePath = new ArrayList<String>();
  }
  
  public static String getFilePath() {
    return filePath;
  }

  public static void setFilePath(String filePath) {
    AmDto.filePath = filePath;
  }

  public static List<String> getTextToSearch() {
    return tree.getTextToSearch();
  }

  public static void setTextToSearch(List<String> textToSearch) {
    AmDto.tree.setTextToSearch(textToSearch);
  }

  public static Map<String, String> getSearchResult() {
    return tree.searchResult;
  }

  public static void setSearchResult(Map<String, String> searchResult) {
    AmDto.tree.setSearchResult(searchResult);
  }

  public static List<String> getRecentFilePath() {
    return recentFilePath;
  }

  public static void setRecentFilePath(List<String> recentFilePath) {
    AmDto.recentFilePath = recentFilePath;
  }

  public static List<Node> getNodes() {
    // TODO 根据树的根节点获取所有节点
    return null;
  }

  public static void setNodes(Node root) {
    AmDto.tree.setRoot(root);
  }
}
